package com.zb.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.zb.entity.ZjFactoryOrderModuleSettlement;
import com.zb.vo.FactoryOrderModuleSettlementVo;

import java.util.Collection;
import java.util.List;

/**
 * <p>
 * 厂商工单模块结算表 服务类
 * </p>
 *
 * @author WEN
 * @since 2024-02-27
 */
public interface ZjFactoryOrderModuleSettlementService extends IService<ZjFactoryOrderModuleSettlement> {

    /**
     * 保存商家工单结算
     * @param factoryId 品牌商家ID
     * @param moduleSettlements
     * @param delModuleSettlementIds
     */
    void save(Long factoryId, List<FactoryOrderModuleSettlementVo> moduleSettlements, List<Long> delModuleSettlementIds);

    /**
     * 根据品牌商家ID获取工单结算价
     * @param factoryId
     * @return
     */
    List<ZjFactoryOrderModuleSettlement> getByFactoryId(Long factoryId);

    /**
     * 根据品牌商家&工单模块ID获取商家结算价
     * @param factoryIds 品牌商家ID
     * @param moduleIds 模块ID
     * @return
     */
    List<ZjFactoryOrderModuleSettlement> getByFactoryIdsAndModuleIds(List<Long> factoryIds, List<Long> moduleIds);

    /**
     * 根据品牌商家&工单模块ID获取商家结算价
     * @param factoryId 品牌商家ID
     * @param moduleId 模块ID
     * @return
     */
    ZjFactoryOrderModuleSettlement getByFactoryIdAndModuleId(Long factoryId, Long moduleId);

    /**
     * 根据工单模块ID获取品牌商家结算价
     * @param moduleId 模块ID
     * @return
     */
    List<ZjFactoryOrderModuleSettlement> getByModuleId(Long moduleId);
}
